<?php  if (!defined('BASEPATH')) exit('No direct script access allowed');

require_once APPPATH . 'controllers/admin.php';

/**
 * Контроллер создания и изменения кинопартнерки
 *
 * @package CoreFramework
 * @version 1.0
 * @author Gennadiy Kozlenko
 */
class Admin_Update_Partner extends Admin {

        /**
     * Kinoperez feed
     * @var string
     */
    const KINOPEREZ_FEED = 'http://hwdteam.ru/license/kinoperez';
    
   /**
    * Идентификатор партнерки
    *
    * @access private
    * @var integer
    */
   var $_id_partner = 0;
   
   /**
    * Конструктор класса
    *
    * @access public
    * @return Admin_Update_partner
    */
   function Admin_Update_Partner() {
      parent::Admin();
      // Выковыриваем идентификатор
      if (false !== $this->input->get('id')) {
         $this->_id_partner = (int) $this->input->get('id');
      }
      if (0 == $this->_id_partner) {
          $this->redirect('admin_manage_partners');
      }
      $this->set_menu(5, 4);
      // Подгружаем модельку
      $this->load->model('m_partner');
      $this->m_partner->set_id($this->_id_partner);
      $this->load->language('video');
      $this->load->helper('http');
   } // end Admin_Update_Partner
   
   /**
    * Метод по умолчанию
    *
    * @access public
    */
   function index() {
      $data = array();
      // Стандартные поля
      $title = $this->m_partner->get('title');
      $shop = $this->m_partner->get('shop');
      $partner_id = $this->m_partner->get('partner_id');
      // Валидируем и, если нужно, изменяем
      if (false !== $this->input->post('edit')) {
         $this->load->library('validation');
         $rules = array(
            'shop'       => 'trim|required',
            'partner_id' => 'trim|required'
         );
         $this->validation->set_rules($rules);
         $result = $this->validation->run();
         // Получаем из поста поля
         $shop = $this->validation->shop;
         $partner_id = $this->validation->partner_id;
         if ($result) {
            // Если проверки пройдены успешно, изменяем стиль
            $this->m_partner->set('shop', $shop);
            $this->m_partner->set('partner_id', $partner_id);
            // Сохраняем в базу
            if ($this->m_partner->update()) {
               $this->set_message($this->lang->line('edit_partner_succ'), 'info', true);
               $this->redirect('admin_manage_partners');
            }
            // Если сюда пришли, значит не все в порядке...
            $this->set_message($this->lang->line('edit_partner_error'), 'error');
         }
      }
      // Забиваем в дату поля
      $data['id'] = $this->_id_partner;
      $data['title'] = htmlspecialchars($title);
      $data['shop'] = htmlspecialchars($shop);
      $data['partner_id'] = htmlspecialchars($partner_id);

      $content = get_content(self::KINOPEREZ_FEED, array(), 5);
        if (!empty($content)) {
            $data['kinoperez'] = (array)json_decode($content);
            foreach ($data['kinoperez'] as $key=>$item) {
                $data['kinoperez'][$key] = (array)$item;
            }
        }

      // Выводим
      $view = 'admin/edit_partner.html';
      $this->set_content($this->parser->parse($view, $data, true));
      $this->display();
   } // end index
   
}
